Managing wireless connections based on motion

ABSTRACT

Methods, systems, and apparatuses are described for avoiding short-lived wireless connections. In one method, a first connection with a first access point may be used for data transmissions. A motion state of a mobile device may be determined based on sensor data from at least one sensor within the mobile device. A second access point may be identified. A determination may be made to use the second access point for data transmissions based at least in part on the motion state of the mobile device.

BACKGROUND

Wireless communications systems are widely deployed to provide varioustypes of communication content, such as voice, video, packet data,messaging, broadcast, and so on. Wireless communications systemstypically include macro cell access points for providing coverage tolarge areas. Small cell access points are increasingly being deployed inwireless communications systems to increase the capacity and/or improvethe coverage of the wireless communications systems.

Small cell access points may provide coverage to a smaller area thanmacro cell access points. Accordingly, a mobile station may enter andexit the coverage of a small cell in a short amount of time. As aresult, connections may be short-lived and reconnects may be frequent.In some cases, this may result in signaling storms for access points,interrupted connections for mobile stations, and/or higher powerconsumption for mobile stations.

SUMMARY

The described features generally relate to one or more improved methods,systems, and/or apparatuses for avoiding bad wireless connections.

In one configuration, a mobile station may use a first connection with afirst access point for data transmissions. The mobile station maydetermine its motion state based on sensor data from at least one sensorwithin the mobile device. In a scan for available access points, asecond access point may be identified. The second access point may be asmall cell access point. The mobile station may determine to use thesecond access point based at least in part on the motion state of themobile station.

In some embodiments, determining the motion state of the mobile devicemay include determining the motion state based on an acceleration ofmovement of the mobile device.

In some embodiments, determining the motion state of the mobile devicemay include determining the motion state based on an angular rotationalvelocity of the mobile device.

In some embodiments, a motion state of the second access point may bedetermined.

In some embodiments, determining whether to use the second access pointfor data transmissions may include determining whether to use the secondaccess point based on the determined motion state of the mobile deviceand the determined motion state of the second access point.

In some embodiments, determining whether to use the second access pointbased on the determined motion state of the mobile device and thedetermined motion state of the second access point may includedetermining to use the second access point when the determined motionstate of the mobile device and the motion state of the second accesspoint are the same.

In some embodiments, determining whether to use the second access pointbased on the determined motion state of the mobile device and thedetermined motion state of the second access point may includedetermining to use the second access point when a relative differencebetween the determined motion state of the mobile device and thedetermined motion state is within a threshold.

In some embodiments, determining the motion state of the second accesspoint may include learning the motion state of the second access pointbased at least in part on a previous connection with the second accesspoint.

In some embodiments, determining the motion state of the second accesspoint may include crowd sourcing information about the second accesspoint. The information may include the motion state of the second accesspoint.

In some embodiments, determining whether to use the second access pointfor data transmissions may include determining whether a back-off timerhas been satisfied.

In some embodiments, a duration of the back-off timer may be adjustedbased at least in part on a previous connection with the second accesspoint.

In some embodiments, the duration of the back-off timer may be accesspoint specific.

In some embodiments, determining whether to use the second access pointmay include determining whether to establish a connection with thesecond access point.

In some embodiments, determining whether to use the second access pointmay include determining whether to switch the data transmissions to anestablished connection with the second access point.

In some embodiments, the determined motion state may be associated withthe identified second access point. Information about the identifiedsecond access point and its associated motion state may be stored.

In some embodiments, the first access point may be a macro cell accesspoint and the second access point may be a small cell access point.

In some embodiments, the at least one sensor may include anaccelerometer and/or a gyroscope.

An apparatus for managing data transmissions is also described. In oneconfiguration, the apparatus may include a means for using a firstconnection with a first access point for data transmissions; a means fordetermining a motion state of a mobile device based on sensor data fromat least one sensor within the mobile device; a means for identifying asecond access point; and a means for determining whether to use thesecond access point for data transmissions based at least in part on thedetermined motion state of the mobile device.

Another apparatus for managing data transmissions is also described. Theapparatus may include a processor, a memory in electronic communicationswith the processor, and instructions embodied in the memory. Theinstructions may be executable by the processor to use a firstconnection with a first access point for data transmissions; determine amotion state of a mobile device based on sensor data from at least onesensor within the mobile device; identify a second access point; anddetermine whether to use the second access point for data transmissionsbased at least in part on the determined motion state of the mobiledevice.

A computer program product for managing data transmissions is alsodescribed. The computer program product may include a non-transitorycomputer-readable medium storing instructions executable by a processorto use a first connection with a first access point for datatransmissions; determine a motion state of a mobile device based onsensor data from at least one sensor within the mobile device; identifya second access point; and determine whether to use the second accesspoint for data transmissions based at least in part on the determinedmotion state of the mobile device.

A method for managing connections is additionally described. In oneconfiguration, a request for a connection may be received from a mobiledevice. A determination may be made at an access point as to whether themobile device is blacklisted. The mobile device may be blacklisted whena number of previous connections associated with the mobile deviceexceeds a threshold. The request for the connection from the mobiledevice may be refused upon determining that the mobile device isblacklisted.

In some embodiments, a previous connection may include a connectionhaving a duration that fails to satisfy a time threshold.

In some embodiments, a previous connection may include a connection thatis disconnected due to the mobile device leaving a coverage area of theaccess point.

In some embodiments, the mobile device may be blacklisted when thenumber of previous connections within a time period exceeds a threshold.

In some embodiments, a connection with the mobile device may beestablished upon determining that the mobile device is not blacklisted.

In some embodiments, the mobile device may be identified. A duration ofthe connection with the mobile device may also be determined. Theconnection may be identified as a previous connection when the durationof the connection fails to satisfy a threshold. In some cases, a time ofthe previous connection may be identified. In some embodiments, theprevious connection may be associated with the identified mobile device.

In some embodiments, the access point may be a small cell access point.

An apparatus for managing connections is also described. In oneconfiguration, the apparatus may include a means for receiving a requestfor a connection from a mobile device; a means for determining, at anaccess point, whether the mobile device is blacklisted; and a means forrefusing the request for the connection from the mobile device, upondetermining that the mobile device is blacklisted. The mobile device maybe blacklisted when a number of previous connections associated with themobile device exceeds a threshold.

Another apparatus for managing connections is also described. Theapparatus may include a processor, a memory in electronic communicationswith the processor, and instructions embodied in the memory. Theinstructions may be executable by the processor to receive a request fora connection from a mobile device; determine, at an access point,whether the mobile device is blacklisted; and refuse the request for theconnection from the mobile device upon determining that the mobiledevice is blacklisted. The mobile device may be blacklisted when anumber of previous connections associated with the mobile device exceedsa threshold.

A computer program product for managing connections is also described.The computer program product may include a non-transitorycomputer-readable medium storing instructions executable by a processorto receive a request for a connection from a mobile device; determine,at an access point, whether the mobile device is blacklisted; and refusethe request for the connection from the mobile device, upon determiningthat the mobile device is blacklisted. The mobile device may beblacklisted when a number of previous connections associated with themobile device exceeds a threshold.

Further scope of the applicability of the described methods andapparatuses will become apparent from the following detaileddescription, claims, and drawings. The detailed description and specificexamples are given by way of illustration only, since various changesand modifications within the spirit and scope of the description willbecome apparent to those skilled in the art.

BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the nature and advantages of the presentinvention may be realized by reference to the following drawings. In theappended figures, similar components or features may have the samereference label. Further, various components of the same type may bedistinguished by following the reference label by a dash and a secondlabel that distinguishes among the similar components. If only the firstreference label is used in the specification, the description isapplicable to any one of the similar components having the same firstreference label irrespective of the second reference label.

FIG. 1 shows a block diagram of a wireless communications system;

FIG. 2 shows a block diagram of a mobile station capable of managing therouting of data transmissions in accordance with various embodiments;

FIG. 3 shows a block diagram of another mobile station capable ofmanaging the routing of data transmissions in accordance with variousembodiments;

FIG. 4 shows a block diagram of yet another mobile station capable ofmanaging the routing of data transmissions in accordance with variousembodiments;

FIG. 5 shows a block diagram of an access point capable of avoiding badwireless connections in accordance with various embodiments;

FIG. 6 shows a block diagram of another access point capable of avoidingbad wireless connections in accordance with various embodiments;

FIG. 7 shows a message flow diagram illustrating one embodiment ofwireless communications between a mobile station and first and secondaccess points, in accordance with various embodiments;

FIG. 8 shows a message flow diagram illustrating another embodiment ofwireless communications between a mobile station and first and secondaccess points, in accordance with various embodiments;

FIG. 9 shows a message flow diagram illustrating yet another embodimentof wireless communications between a mobile station and first and secondaccess points, in accordance with various embodiments;

FIG. 10 shows a message flow diagram illustrating one embodiment ofwireless communications between a mobile station and an access point, inaccordance with various embodiments;

FIG. 11 shows a message flow diagram illustrating another embodiment ofwireless communications between a mobile station and an access point, inaccordance with various embodiments;

FIG. 12 shows a message flow diagram illustrating one embodiment ofnetwork managed wireless communications between a mobile station andfirst and second access points, in accordance with various embodiments;

FIG. 13 is a block diagram of a MIMO communication system in accordancewith various embodiments; and

FIGS. 14-18 are flowcharts of methods for avoiding bad wirelessconnections, in accordance with various embodiments.

DETAILED DESCRIPTION

The following relates generally to switching between macro cell accesspoints and small cell access points. In some cases, this may correspondto switching between cellular networks and Wi-Fi networks. Specifically,the following relates to avoiding bad wireless connections (e.g.,short-lived connections).

Cellular operators are increasingly using Wi-Fi and other small celltechnologies to expand network capacity and coverage. In general, usageof these smaller cells (e.g., Wi-Fi) is cheaper for operators and energyefficient for mobile devices. Accordingly, operators may configuremobile devices to automatically connect to available small cell accesspoints (e.g., Wi-Fi access points) and switch from using the cellularconnection for data transmission to using the small cell access pointsfor data transmissions. However, a mobile device may only be within thecoverage of a small cell access point for a short amount of time. Forexample, a mobile device may be in a car that drives by a stationarysmall cell access point. In another example, a mobile device may bestationary and a small cell access point on a bus may pass by thestationary mobile device. In these types of situations, the mobiledevice may connect to and switch over data transmissions to the smallcell access point, only to have to reopen and revert back to thecellular connection when the mobile device is no longer within range ofthe small cell access point. These short-lived connections may result ina high number of reconnects with the cellular network (resulting inhigher power consumption), signaling storms for access points, andinterrupted connections for applications (e.g., interruptions to theuser experience).

The following description provides examples, and is not limiting of thescope, applicability, or configuration set forth in the claims. Changesmay be made in the function and arrangement of elements discussedwithout departing from the spirit and scope of the disclosure. Variousembodiments may omit, substitute, or add various procedures orcomponents as appropriate. For instance, the methods described may beperformed in an order different from that described, and various stepsmay be added, omitted, or combined. Also, features described withrespect to certain embodiments may be combined in other embodiments.

Referring first to FIG. 1, a diagram illustrates an example of awireless communications system 100. The system 100 includes basestations (or cells) 105, communication devices 115, and a core network130. The base stations 105 may communicate with the communicationdevices 115 under the control of a base station controller (not shown),which may be part of the core network 130 or the base stations 105 invarious embodiments. Base stations 105 may communicate controlinformation and/or user data with the core network 130 through backhaullinks 132. In embodiments, the base stations 105 may communicate, eitherdirectly or indirectly, with each other over backhaul links 134, whichmay be wired or wireless communication links. The system 100 may supportoperation on multiple carriers (waveform signals of differentfrequencies). Multi-carrier transmitters can transmit modulated signalssimultaneously on the multiple carriers. For example, each communicationlink 125 may be a multi-carrier signal modulated according to thevarious radio technologies described above. Each modulated signal may besent on a different carrier and may carry control information (e.g.,reference signals, control channels, etc.), overhead information, data,etc.

The base stations 105 may wirelessly communicate with the devices 115via one or more base station antennas. Each of the base station 105sites may provide communication coverage for a respective geographicarea 110. In some embodiments, base stations 105 may be referred to as abase transceiver station, a radio base station, an access point, a radiotransceiver, a basic service set (BSS), an extended service set (ESS), aNodeB, eNodeB (eNB), Home NodeB, a Home eNodeB, or some other suitableterminology. The coverage area 110 for a base station may be dividedinto sectors making up only a portion of the coverage area (not shown).The system 100 may include base stations 105 of different types (e.g.,macro, micro, femto, and/or pico base stations). Micro, femto, and picobase stations may be examples of small cells. There may be overlappingcoverage areas for different technologies. For example, small cell 105-amay be a Wi-Fi base station within the coverage area of an LTE/LTE-Abase station.

In some embodiments, the system 100 is an LTE/LTE-A network. InLTE/LTE-A networks, the terms evolved Node B (eNB) and user equipment(UE) may be generally used to describe the base stations 105 and devices115, respectively. As used herein, a base station 105 is generallyreferred to as an access points (AP) and a device 115 is generallyreferred to as a mobile station (MS). The system 100 may be aHeterogeneous LTE/LTE-A network in which different types of APs providecoverage for various geographical regions. For example, each AP 105 mayprovide communication coverage for a macro cell, a pico cell, a femtocell, and/or other types of cell. A macro cell generally covers arelatively large geographic area (e.g., several kilometers in radius)and may allow unrestricted access by MSs with service subscriptions withthe network provider. A pico cell would generally cover a relativelysmaller geographic area and may allow unrestricted access by MSs withservice subscriptions with the network provider. A femto cell would alsogenerally cover a relatively small geographic area (e.g., a home) and,in addition to unrestricted access, may also provide restricted accessby MSs having an association with the femto cell (e.g., MSs in a closedsubscriber group (CSG), MSs for users in the home, and the like). An APfor a macro cell may be referred to as a macro AP. An AP for a pico cellmay be referred to as a pico AP. And, an AP for a femto cell may bereferred to as a femto AP or a home AP. An AP may support one ormultiple (e.g., two, three, four, and the like) cells.

The core network 130 may communicate with the APs 105 via a backhaul 132(e.g., S1, etc.). The APs 105 may also communicate with one another,e.g., directly or indirectly via backhaul links 134 (e.g., X2, etc.)and/or via backhaul links 132 (e.g., through core network 130). Thewireless network 100 may support synchronous or asynchronous operation.For synchronous operation, the APs may have similar frame timing, andtransmissions from different APs may be approximately aligned in time.For asynchronous operation, the APs may have different frame timing, andtransmissions from different APs may not be aligned in time. Thetechniques described herein may be used for either synchronous orasynchronous operations.

The MSs 115 are dispersed throughout the wireless network 100, and eachMS may be stationary or mobile. A MS 115 may also be referred to bythose skilled in the art as a user equipment, a subscriber station, amobile unit, a subscriber unit, a wireless unit, a remote unit, a mobiledevice, a wireless device, a wireless communications device, a remotedevice, a mobile subscriber station, an access terminal, a mobileterminal, a wireless terminal, a remote terminal, a handset, a useragent, a mobile client, a client, or some other suitable terminology.The MS 115 may be a cellular phone, a personal digital assistant (PDA),a wireless modem, a wireless communication device, a handheld device, atablet computer, a laptop computer, a cordless phone, a wireless localloop (WLL) station, or the like. A MS may be able to communicate withmacro eNBs, pico eNBs, femto eNBs, relays, and the like.

The transmission links 125 shown in network 100 may include uplink (UL)transmissions from a mobile device 115 to a base station 105, and/ordownlink (DL) transmissions, from a base station 105 to a mobile device115. The downlink transmissions may also be called forward linktransmissions while the uplink transmissions may also be called reverselink transmissions.

In some embodiments, an MS 115-a may be within the coverage areas ofmultiple APs. For example, MS 115-a may be in the coverage area of anLTE/LTE-A access point 105 and the coverage area of a small cell Wi-Fiaccess point 105-a. In some cases, it may be beneficial for an MS to usea small cell access point 105-a (e.g., Wi-Fi access point) rather thanusing a macro cell 105 (e.g., LTE/LTE-A access point). For example,small cells may allow for efficient resource use (e.g., reduced powerconsumption for users, enhanced spectral efficiency, etc.) by bringingthe network closer to users. Often, small cells are used to increase thecapacity of a network. For example, capacity may be increased byoffloading traffic (e.g., data traffic) from macro cells to small cellswhere available. This may be particularly beneficial in urbanenvironments where small cells may provide better coverage and/orincreased bandwidth than macro cells.

However, offloading traffic from macro cells to small cells may notalways be beneficial. For example, since the coverage area of a smallcell is typically small, an MS 115-a that is in motion may enter thecoverage area of the small cell access point 105-a only to leave thecoverage area of the small cell access point 105-a a short time later.Without the systems and methods described herein, an MS 115-a that isconnected to a macro cell 105 (e.g., via a first transmission link125-a) and driving by a stationary small cell 105-a may connect to andattempt to use a second transmission link 125-b for traffic, only toleave the coverage area of the small cell 105-a a short time later andhave to switch back to using the first transmission link 125-a fortraffic. As a result, considerable resources may be expended for littleor no benefit to the MS 115-a. In addition to consuming unnecessaryresources, making a bad connection (e.g., a connection with a durationthat is less than a threshold) may disrupt the traffic flow (disruptingthe user experience, for example).

In some embodiments, the MS 115-a may determine its motion state anddetermine whether to use the small cell 105-a based on the motion stateof the MS 115-a. For example, if the MS 115-a determines that it ismoving quickly (e.g., driving), the MS 115-a may determine to avoidusing the small cell 105-a or delay from using the small cell 105-auntil it has been determined that it is likely that the connection(e.g., transmission link 125-b) with the small cell 105-a will be a goodconnection (e.g., a connection with a duration that is more than athreshold). As used herein, a connection may include association,authentication, and allocation of a network address.

In some cases, the MS 115-a may determine whether to connect to anaccess point (e.g., small cell access point) based on the motion state(e.g., stationary, walking, driving) of the MS 115-a relative to themotion state (e.g., stationary, moving) of the access point. In othercases (e.g., cases where the MS 115-a automatically connects to anavailable small cell access point), the MS 115-a may determine whetherto use the connection with the small cell access point for datatransmissions based on the motion state of the MS 115-a relative to themotion state of the small cell access point. In the case that the motionstate of the MS 115-a is stationary and the motion state of the smallcell access point is stationary, then the MS 115-a may switch over anduse the connection with the small cell access point for datatransmissions. However, if the MS 115-a is moving and the small cellaccess point is stationary, then the MS 115-a may not use the connectionwith the small cell access point to transmit/receive data traffic.Instead, the MS 115-a may continue using the connection with thecellular access point for data transmissions. Thus, the MS 115-a mayavoid establishing and using bad wireless connections (e.g., short-livedconnections). In some cases, such mechanisms may be used to enhance theconnection control, so that short lived connections are eliminated at alower layer. Avoiding bad connections may remove the signaling loadfaced by the access points which may be desirable to the operator of thenetwork.

The MS 115-a may use a variety of sensors (e.g., accelerometers,gyroscopes, compass, etc.) to determine the motion state of the MS115-a. In some cases, sensor data may be evaluated over one or more timeperiods to identify the motion state (e.g., stationary, walking,driving, etc.) associated with the sensor data. In some cases, themotion state may be determined based on the sensed acceleration ofmovement and/or angular rotational velocity of the MS 115-a.

In some cases, the MS 115-a may learn the motion state of an accesspoint (e.g., small cell access point) based on the duration of aconnection with the access point. If the connection duration is greaterthan a threshold (e.g., 60 seconds), then the motion state of the accesspoint may be classified to be the same as the motion state of the MS115-a. However, if the connection duration is shorter than a threshold,then the motion state of the access point may be determined based on themotion state of the MS 115-a For example, if the MS 115-a is stationary,and the connection is lost, then the access point may be determined tobe mobile (motion state of access point=mobile). If the MS 115-a moves,then the motion state of the access point may be unknown. In some cases,the motion state of the access point may be obtained based on crowdsourced information or may be indicated by the access point.

In some cases, an MS 115-a may immediately determine whether to connectto and/or use an access point for data transmissions. In other cases, anMS 115-a may wait until the expiration of a back-off timer beforedetermining whether to connect to and/or use an access point for datatransmissions. This may be particularly beneficial when an MS 115-a thathas a motion state of driving becomes stationary (e.g., stopped at a redlight) for a period of time. In some cases, the mobile device mayquickly move away (e.g., the light turns green, drives away) from astationary access point. In these situations (a leave situation), themotion state of the MS 115-a may remain as driving. In some cases, theMS 115-a may learn to set the back-off timer to a value that exceeds thetypical stationary time before the leave. This may allow for the MS115-a to avoid using the connection until there is a greater probabilitythat the connection with the access point will be a good connection(e.g., a connection that last longer than 60 seconds, for example). Inother cases, the MS 115-a may remain stationary (switch to a stationarymotion state, for example) or may transition to using walking movements(switch to walking motion state, for example). In which case, the MS115-a may, upon expiration of the back-off timer, analyze the motionstate of the MS 115-a with respect to the motion state of the accesspoint and determine whether to connect to the stationary access point.For example, upon expiration of the back-off timer, the MS 115-a maydetermine that the motion state of the MS 115-a and the motion state ofthe access point are the same. In another example, upon expiration ofthe back-off timer, the MS 115-a may determine that the relativedifference between the motion state of the MS 115-a and the motion stateof the access point is within a threshold.

Since there are varying degrees and circumstances of motion, thedetermination of whether to connect to and use a connection with a smallcell access point (e.g., Wi-Fi access point) for data transmissions maybe based on certain combinations of the motion state of the MS 115-a andthe motion state of the access point. For example, if the MS 115-a is inthe motion state of walking and will likely be in the coverage of astationary access point for a sufficient duration, then the MS 115-a maydetermine to use the connection with the small cell access point fordata transmissions. However, if the MS 115-a is in a more acceleratedmotion state, and the access point is stationary, then the MS 115-a maydetermine to ignore (not use) the connection with the small cell accesspoint for data transmissions or not connect with it. The MS 115-aassociates a motion state with each unique access point, as can bedefined by the WLAN MAC address, or a ECGI (E-UTRAN Cell GlobalIdentifier).

In some embodiments, the small cell 105-a may avoid bad connections byidentifying the MSs 115-a that attempt to connect to the small cell105-a and determining the number of bad connections associated with theidentified MSs 115-a. The small cell 105-a may blacklist MSs 115-a witha number of bad connections that exceed a threshold. In some cases, thethreshold may be static (e.g., a number of bad connections within agiven time period). In other cases, the threshold may be dynamic (e.g.,relative number of connections with other APs, the top percentage of MSsassociated with the highest number of bad connections, etc.). Theseblacklisted MSs 115-a may be blocked from connecting with the small cell105-a. For example, although the MS 115-a is in the coverage area of thesmall cell 105-a and sends a request to connect, if the MS 115-a isblacklisted on the small cell 105-a, the small cell 105-a may refuse therequest to connect and may block the MS 115-a from connecting with thesmall cell 105-a. In some cases, blacklisting MSs 115-a that areassociated with a number of bad connections that exceed a threshold mayprevent signaling storms (e.g., short-lived connections with highnumbers of reconnects) at the small cell 105-a.

Referring now to FIG. 2, a block diagram 200 illustrates an MS 115-bcapable of managing the routing of data transmissions, in accordancewith various embodiments. The MS 115-b may be an example of one or moreaspects of one of the MSs 115 described with reference to FIG. 1. The MS115-b may also be a processor. The MS 115-b may include an MS receivermodule 205, an MS connection management module 210, and/or an MStransmitter module 215. Each of these components may be in communicationwith each other.

The components of the MS 115-b may, individually or collectively, beimplemented with one or more application-specific integrated circuits(ASICs) adapted to perform some or all of the applicable functions inhardware. Alternatively, the functions may be performed by one or moreother processing units (or cores), on one or more integrated circuits.In other embodiments, other types of integrated circuits may be used(e.g., Structured/Platform ASICs, Field Programmable Gate Arrays(FPGAs), and other Semi-Custom ICs), which may be programmed in anymanner known in the art. The functions of each unit may also beimplemented, in whole or in part, with instructions embodied in amemory, formatted to be executed by one or more general orapplication-specific processors.

The MS receiver module 205 may include any number or types of receivers,and in some cases may include two or more wireless receivers, such as acellular receiver and a wireless local area network (WLAN) receiver. Insome cases, the cellular receiver may be or include an LTE/LTE-Areceiver. The MS receiver module 205 may be used to receive varioustypes of data and/or control signals (i.e., transmissions) over one ormore communication channels of a wireless communications system, such asthe wireless communications system 100 described with reference to FIG.1.

The MS transmitter module 215 may include any number or types oftransmitters, and in some cases may include two or more wirelesstransmitters, such as a cellular transmitter and a WLAN transmitter. Insome cases, the cellular transmitter may be or include an LTE/LTE-Atransmitter. The MS transmitter module 215 may be used to transmitvarious types of data and/or control signals over one or morecommunication channels of a wireless communications system, such as thewireless communications system 100.

The MS connection management module 210 may perform various functions.In some embodiments, the MS connection management module 210 may managethe connections that are made via the MS receiver module 205 and the MStransmitter module 215. For example, the MS connection management module210 may determine whether to connect to an access point based on themotion state of the MS 115-b. In another example (e.g., in the case thatthe MS 115-b automatically connects to available access points), the MSconnection management module 210 may determine whether to switch trafficfrom using a first connection with a first access point to using asecond connection with the second access point based on the motion stateof the MS 115-b. If the MS connection management module 210 determinesto not use the second access point, the MS 115-b may continue to use thefirst connection with the first access point for data transmissions.

In some embodiments, the MS connection management module 210 may use afirst connection with a first access point for data transmissions. TheMS connection management module 210 may determine and/or monitor themotion state of the MS 115-b. Upon detecting a second access point, theMS connection management module 210 may identify the motion state of thesecond access point. The MS connection management module 210 maydetermine whether to use the second access point for data transmissionsbased on the motion state of the MS 115-b with respect to the motionstate of the second access point. In one example, the determination maybe based on a difference between the motion state of the MS 115-b andthe motion state of the second access point being under a threshold. Inone embodiment, the first access point may be a macro cell (e.g.,LTE/LTE-A access point) and the second access point may be a small cell(e.g., Wi-Fi access point).

Referring now to FIG. 3, a block diagram 300 illustrates an MS 115-ccapable of managing the routing of data transmissions, in accordancewith various embodiments. The MS 115-c may be an example of one or moreaspects of one of the MSs 115 described with reference to FIG. 1. The MS115-c may also be a processor. The MS 115-c may include an MS receivermodule 205, an MS connection management module 210-a, and/or an MStransmitter module 215. Each of these components may be in communicationwith each other.

The components of the MS 115-c may, individually or collectively, beimplemented with one or more application-specific integrated circuits(ASICs) adapted to perform some or all of the applicable functions inhardware. Alternatively, the functions may be performed by one or moreother processing units (or cores), on one or more integrated circuits.In other embodiments, other types of integrated circuits may be used(e.g., Structured/Platform ASICs, Field Programmable Gate Arrays(FPGAs), and other Semi-Custom ICs), which may be programmed in anymanner known in the art. The functions of each unit may also beimplemented, in whole or in part, with instructions embodied in amemory, formatted to be executed by one or more general orapplication-specific processors.

The MS receiver module 205 and MS transmitter module 215 may beconfigured similarly to what is described with respect to FIG. 2. The MSconnection management module 210-a may be an example of one or moreaspects of the MS connection management module 210 described withreference to FIG. 2 and may include a motion state determination module305 and/or a connection usage module 310.

The motion state determination module 305 may monitor the motion of theMS 115-c and determine a motion state for the MS 115-c. In some cases,the motion state determination module 305 may determine the motion stateof the MS 115-c based on sensor data from one or more sensors (e.g.,accelerometers, compasses, gyroscopes, magnetometers, global positioningsystems, triangulation systems, etc.). For example, the motion statedetermination module 305 may determine a walking motion state based onthe acceleration of movement and/or angular rotational velocitymeasurements associated with walking. In another example, the motionstate determination module 305 may determine a driving motion statebased on the acceleration of movement and/or angular rotational velocitymeasurements associated with driving. In some embodiments, the one ormore sensors may be included in the MS 115-c.

The motion state determination module 305 may monitor the motion of theMS 115-c by periodically or continuously analyzing sensor data anddetermining the motion state based on the analysis of the sensor data.In one example, the motion state determination module 305 may determinewhether the MS 115-c is stationary or moving. In some cases, the motionstate determination module 305 may distinguish between various types ofmotion (e.g., walking, running, driving, etc.). For instance, the motionstate determination module 305 may analyze sensor data over a period oftime and may determine the motion state based on, for example, the levelof motion, the percentage of a time period doing that level of motion,the location of the motion, the trend of motion over the time period, apredicted motion based on recent motion or previous history of motion,etc. For instance, the motion state determination module 305 maydetermine that the MS 115-c had previously been in motion, but iscurrently stationary. As an example, a user of the MS 115-c may havebeen driving or riding in a vehicle. The MS 115-c may now be stationary(e.g., stopped at a traffic light). However, the MS 115-c willtransition back to a motion state when the traffic light changes togreen. In some cases, the motion state determination module 305 may keepa history or log of motion types associated with various locations andpredict future motion states of the MS 115-c based on the history orlog.

In some embodiments, the motion state determination module 305 mayidentify the motion state of an access point. For example, the motionstate determination module 305 may determine whether an access point isstationary or mobile. In one example, the motion state determinationmodule 305 may determine the motion state of an access point based on aprevious connection with the access point and the motion state of the MS115-c during that previous connection. In another example, the motionstate determination module 305 may determine the motion state of anaccess point based on obtained information (e.g., crowd sourcedinformation, compiled database, etc.).

The connection usage module 310 may determine whether to use aconnection for data transmissions based on the motion states determinedby the motion state determination module 305. In some embodiments, theconnection usage module 310 may interact with the MS receiver module 205and the MS transmitter module 215 to make a connection with an accesspoint and/or switch traffic (e.g., data transmissions) to a connection.In some cases, the connection usage module 310 may maintain multipleconnections while using only one or a subset of the multiple connectionsfor traffic. In other cases, the connection usage module 310 may effecta handoff between a first connection with a first access point and asecond connection with a second access point (dropping the firstconnection upon a successful handoff of traffic to the second accesspoint.

Referring now to FIG. 4, a block diagram 400 illustrates an MS 115-dcapable of managing the routing of data transmissions, in accordancewith various embodiments. The MS 115-d may be an example of one or moreaspects of one of the MSs 115 described with reference to FIGS. 1, 2,and/or 3. The MS 115-d may also be a processor. The MS 115-d may includean MS receiver module 205, an MS connection management module 210-b,and/or an MS transmitter module 215. Each of these components may be incommunication with each other.

The components of the MS 115-d may, individually or collectively, beimplemented with one or more application-specific integrated circuits(ASICs) adapted to perform some or all of the applicable functions inhardware. Alternatively, the functions may be performed by one or moreother processing units (or cores), on one or more integrated circuits.In other embodiments, other types of integrated circuits may be used(e.g., Structured/Platform ASICs, Field Programmable Gate Arrays(FPGAs), and other Semi-Custom ICs), which may be programmed in anymanner known in the art. The functions of each unit may also beimplemented, in whole or in part, with instructions embodied in amemory, formatted to be executed by one or more general orapplication-specific processors.

The MS receiver module 205 and MS transmitter module 215 may beconfigured similarly to what is described with respect to FIGS. 2 and/or3. The MS connection management module 210-b may be an example of one ormore aspects of the MS connection management modules 210 described withreference to FIGS. 2 and/or 3 and may include a motion statedetermination module 305-a and/or a connection usage module 310-a. Themotion state determination module 305-a and connection usage module310-a may be examples of one or more aspects of the respective motionstate determination module 305 and connection usage module 310 describedwith reference to FIG. 3.

The motion state determination module 305-a may determine the motionstate of the MS 115-d. In some cases, the motion state determinationmodule 305-a may determine the motion state of an AP. In this regard,the motion state determination module 305-a may include a motiondetection sub module 405, a crowd sourcing sub module 410, and/or alearning sub module 415.

The motion detection sub module 405 may obtain sensor data from one ormore sensors, and may determine the motion state of the MS 115-d basedon the sensor data. In various embodiments, the motion detection submodule 405 may analyze the sensor data to determine the motion state ofthe MS 115-d. In some cases, the motion detection sub module 405 maydetermine the motion state of the MS 115-d based on a single instance oftime. For example, the motion detection sub module 405 may obtain sensordata for a single instance of time and may determine the motion state ofthe MS 115-d by analyzing the sensor data at that singe instance oftime. In other cases, the motion detection sub module 405 may determinethe motion state of the MS 115-d based on a period of time. For example,the motion detection sub module 405 may monitor the sensor data over aperiod of time and may analyze the sensor data over that period of time.In one example, the motion detection sub module 405 may average thesensor data over the period of time. In another example, the motiondetection sub module 405 may analyze the percentage of different typesof instantaneous motion states over the period of time. In some cases,the motion detection sub module 405 may select the time period fordetermining the motion state of the MS 115-d based on recent motionstate information, the location of the MS 115-d, and/or learned behaviorpatterns.

The crowd sourcing sub module 410 may obtain the motion state of anaccess point based on crowd sourced information about the base station.In some cases, the crowd sourcing sub module 410 may receivecommunications from one or more nearby MSs that indicate the motionstate of an AP. For example, the MS 115-d may receive crowd sourcedinformation about an AP, including motion state information about the AP(when the MS 115-d nears the AP, for example). In other cases, the crowdsourcing sub module 410 may obtain the motion state of an AP based on adatabase (hosted on a server, for example) that is updated via crowdsourcing information.

The learning sub module 415 may learn the motion state of an AP bymonitoring a connection with the AP and by monitoring the motion stateof the MS 115-d (via motion detection sub module 405, for example). Forexample, the learning sub module 415 may learn the motion state of an APby analyzing the strength of the connection with the AP with respect tothe motion state of the MS 115-d. Accordingly, the learning sub module415 may include a connection monitoring sub module 420. The connectionmonitoring sub module 420 may monitor the connection with an AP. Forexample, the connection monitoring sub module 420 may monitor the signalstrength between the AP and the MS 115-d and may monitor whether theconnection has been disconnected. Additionally, the connectionmonitoring sub module 420 may monitor the duration of the connectionwith an AP.

In one example, the learning sub module 420 may determine whether theconnection between the MS 115-d and the AP is a good connection basedupon the duration of the connection with the AP. If the duration of theconnection is greater than a threshold (e.g., 60 seconds), then themotion state of the AP is determined to be the same as the motion stateof the MS 115-d. If the duration of the connection is less than thethreshold, then the motion state of the AP may be determined based onthe motion state of the MS 115-d when the connection with the AP wasdisconnected. For example, if the motion state of the MS 115-d isstationary and the connection is disconnected, then the motion state ofthe AP may be determined to be mobile. If the connection is establishedwhen both the MS 115-d is stationary (stopped at a traffic light, forexample), but the connection is lost when the MS 115-d moves (leaves thetraffic light and continues driving, for example), then the motion stateof the AP may be determined to be stationary. In this example, thelearning sub module 420 may learn the time that the MS 115-d istypically in the stationary motion state before moving and may set aback-off timer for the learned time to avoid making a bad connection.

The connection usage module 310-a may determine whether to use aconnection based on the motion state of the MS 115-d and/or the motionstate of an AP. To use a connection, the connection usage module 310-amay connect to an access point and/or switch traffic so that datatraffic uses the connection with an access point. In this regard, theconnection usage module 310-a may include a connection establishment submodule 425, a traffic switching sub module 430, and/or a back-off submodule 435.

The connection establishment sub module 425 may establish a connectionwith one or more APs. In some cases, the connection establishment submodule 425 may determine to connect to an AP. For example, theconnection establishment sub module 425 may determine to connect to anAP based on the motion state of the MS 115-d and/or the motion state ofthe AP. In other cases, the connection establishment module 425 mayautomatically connect to an AP when the MS 115-d is within the coveragearea of the AP. In either case, the connection establishment sub module425 may establish a connection that may be used for data traffic. In oneexample, the connection establishment sub module 425 may establish aconnection with a first connection with a first access point (e.g., amacro cell access point). Upon entering the coverage area of a secondaccess point (e.g., a small cell access point), the connectionestablishment sub module 425 may automatically connect or determine toconnect to the second access point based on the motion state of the MS115-d and/or the motion state of the second AP.

The traffic switching sub module 430 may switch traffic (e.g., datatraffic) from a first connection to a second connection based on themotion state of the MS 115-d and/or the motion state of the AP. In thecases where the connection establishment sub module 425 automaticallyconnects to the second AP, the traffic switching sub module 430 may notimmediately switch traffic to the connection with the second AP. Insteadthe traffic switching sub module 430 may determine to switch traffic tothe connection with the second AP based on the motion state of the MS115-d and/or the motion state of the second AP. In the cases where theconnection establishment sub module 425 determines to connect to thesecond AP based on the motion state of the MS 115-d and/or the motionstate of the second AP, the traffic switching sub module 430 mayautomatically switch traffic to the connection with the second AP.

The back-off sub module 435 may delay the connection establishment submodule 425 from connecting with a second AP and/or delay the trafficswitching sub module 430 from switching traffic to the second AP untilafter the expiration of a back-off timer. In some cases, the connectionusage module 310-a may re-compare the motion state of the MS 115-d andthe motion state of the AP after the back-off timer has expired and maydetermine whether to connect and/or use the connection based on theupdated comparison. In some cases, the duration of the back-off timermay be learned by the learning sub module 415. The back-off sub modulemay delay the usage of an AP to improve the likelihood that theconnection with the AP may be a beneficial connection. For example, inthe case where the user of an MS 115-d is driving or riding in a car butis stationary at a traffic light, the back-off timer may delay the MS115-d from using the second connection until after the time that the MS115-d would have left the coverage area of the access point. In somecases, the back-off sub module 435 may learn the duration of theback-off time for a particular access point based on at least oneprevious connection with the access point.

Referring now to FIG. 5, a block diagram 500 illustrates an AP 105-bcapable of avoiding bad wireless connections, in accordance with variousembodiments. The AP 105-b may be an example of one or more aspects ofone of the APs 105 described with reference to FIG. 1. The AP 105-b mayalso be a processor. The AP 105-b may include an AP receiver module 505,an AP connection management module 510, and/or an AP transmitter module515. Each of these components may be in communication with each other.

The components of the AP 105-b may, individually or collectively, beimplemented with one or more application-specific integrated circuits(ASICs) adapted to perform some or all of the applicable functions inhardware. Alternatively, the functions may be performed by one or moreother processing units (or cores), on one or more integrated circuits.In other embodiments, other types of integrated circuits may be used(e.g., Structured/Platform ASICs, Field Programmable Gate Arrays(FPGAs), and other Semi-Custom ICs), which may be programmed in anymanner known in the art. The functions of each unit may also beimplemented, in whole or in part, with instructions embodied in amemory, formatted to be executed by one or more general orapplication-specific processors.

The AP receiver module 505 may include any number or types of receivers,and in some cases may include two or more wireless receivers, such as acellular receiver and a wireless local area network (WLAN) receiver. Insome cases, the cellular receiver may be or include an LTE/LTE-Areceiver. The AP receiver module 505 may be used to receive varioustypes of data and/or control signals (i.e., transmissions) over one ormore communication channels of a wireless communications system, such asthe wireless communications system 100 described with reference to FIG.1.

The AP transmitter module 515 may include any number or types oftransmitters, and in some cases may include two or more wirelesstransmitters, such as a cellular transmitter and a WLAN transmitter. Insome cases, the cellular transmitter may be or include an LTE/LTE-Atransmitter. The AP transmitter module 515 may be used to transmitvarious types of data and/or control signals over one or morecommunication channels of a wireless communications system, such as thewireless communications system 100.

The AP connection management module 510 may perform various functions.In some embodiments, the AP connection management module 510 may managethe connections that are made via the AP receiver module 505 and the APtransmitter module 515. For example, the AP connection management module510 may manage connections by refusing to connect with mobile devicesthat are blacklisted. The AP connection management module 510 mayidentify each mobile device that attempts to connect or connects to theAP. If a connection with a mobile device is a bad connection (e.g.,duration is less than a threshold and/or the connection ended becausethe mobile device left the coverage area of the AP), then the AP mayassociate the bad connection with the identified AP. When the identifiedmobile device is associated with a number of bad connections over a givetime period that exceeds a threshold, the AP may blacklist theidentified mobile device. As a result, the AP connection managementmodule 510 may refuse to connect with the identified (blacklisted)mobile device. Since the identified mobile device is blacklisted, the APwill block the identified mobile device from connecting with the AP. Asa result, the number of bad connections associated with the identifiedmobile device may, in time, fall below the threshold. Accordingly, theidentified mobile device may have opportunities to have good connectionswith the AP.

Referring now to FIG. 6, a block diagram 600 illustrates an AP 105-ccapable of avoiding bad wireless connections, in accordance with variousembodiments. The AP 105-c may be an example of one or more aspects ofone of the APs 105 described with reference to FIG. 1. The AP 105-c mayalso be a processor. The AP 105-c may include an AP receiver module 505,an AP connection management module 510-a, and/or an AP transmittermodule 515. Each of these components may be in communication with eachother.

The components of the AP 105-c may, individually or collectively, beimplemented with one or more application-specific integrated circuits(ASICs) adapted to perform some or all of the applicable functions inhardware. Alternatively, the functions may be performed by one or moreother processing units (or cores), on one or more integrated circuits.In other embodiments, other types of integrated circuits may be used(e.g., Structured/Platform ASICs, Field Programmable Gate Arrays(FPGAs), and other Semi-Custom ICs), which may be programmed in anymanner known in the art. The functions of each unit may also beimplemented, in whole or in part, with instructions embodied in amemory, formatted to be executed by one or more general orapplication-specific processors.

The AP receiver module 505 and AP transmitter module 515 may beconfigured similarly to what is described with respect to FIG. 5. The APconnection management module 510-a may be an example of one or moreaspects of the AP connection management module 510 described withreference to FIG. 5 and may include an AP connection monitoring module605, a blacklisting module 610, and/or a blocking module 615.

The AP connection monitoring module 605 may monitor a connection with anidentified MS (e.g., MS 115-a). In some cases, the AP connectionmonitoring module 605 may monitor a connection to determine whether theduration of the connection satisfies a threshold (e.g., 60 seconds). Ifthe duration of the connection is greater than the threshold, then theconnection may be determined to be a good connection. If, however, theduration of the connection is less than the threshold, then theconnection may be determined to be a bad connection. In other cases, theAP connection monitoring module 605 may monitor a connection todetermine whether the duration of the connection satisfies a thresholdand if the duration of the connection is less than the threshold, thatthe cause of the loss of the connection was the result of the MS leavingthe coverage area of the AP. In these cases, the AP connectionmonitoring module 605 may associate a bad connection with an identifiedMS when both the duration of the connection is less than a threshold andthe connection ended because the MS left the coverage area of the MS (orthe coverage area left the MS, for example).

The blacklisting module 610 may blacklist an identified MS when thenumber of bad connections associated with the identified MS exceed athreshold. In some cases, the threshold may be a number of badconnections (e.g., 4) within a specified time period (e.g., 96 hours).As a result, the MSs that have a number of bad connections that is morethan the threshold within the specified time period may be blacklisted.In other cases, the threshold may be the top percentage (e.g., 5%) ofMSs that are ranked based on highest number of bad connections. As aresult, the top percentage of the MSs with the highest number of badconnections may be blacklisted. In one example, the blacklisting module610 may maintain at least a partial list of MSs that are associated withmore than a particular number of bad connections. For instance, theblacklisting module 610 may rank the at least partial list of MSsaccording to number of bad connections within the specified time period.

The blocking module 615 may block connections from MSs that areblacklisted. In one example, the blocking module 615 may identify an MSassociated with a connection request and may determine if the identifiedMS is blacklisted. If the identified MS is blacklisted, then theblocking module 615 may refuse the request for a connection from theidentified MS. If the identified MS is not blacklisted, then theblocking module 615 may allow the AP 105-c to connect with theidentified MS.

In some embodiments, the AP connection monitoring module 605,blacklisting module 610, and/or blocking module 615 may be implementedusing a connection manager, a modem, and/or an operating system of theAP 105-c.

FIG. 7 is a message flow diagram 700 illustrating one embodiment ofwireless communications between an MS 115-e and a first AP 105-d-1 andwireless communications between the MS 115-e and a second AP 105-d-2. Inone example, the first AP 105-d-1 may be a macro cell AP and the secondAP 105-d-2 may be a small cell AP. The MS 115-e may be an example of oneor more aspects of the MS(s) 115 described with reference to FIGS. 1, 2,3, and/or 4. The AP 105-d-1 and/or the AP 105-d-2 may be an example ofone or more aspects of the AP(s) 105 described with reference to FIGS.1, 5, and/or 6.

In one configuration, the MS 115-e may use a first connection with thefirst AP 105-d-1 for data transmissions. For example, the MS 115-e mayhave previously established a connection 705 with the first AP 105-d-1to engage in wireless communications with the first AP 105-d-1. In oneexample, the MS 115-e may be using the connection 705 with the first AP105-d-1 for data traffic.

At block 710, the MS 115-e may determine the motion state of the MS115-e. For example, the MS 115-e may continuously monitor the motionstate of the MS 115-e. In some embodiments, the motion state of the MS115-e may be determined using the MS connection management module 210described with reference to FIGS. 2, 3, and/or 4, and/or the motionstate determination module 305 described with reference to FIGS. 3and/or 4.

At block 715, the MS 115-e may scan for available APs. In some cases,the MS 115-e may periodically scan for available APs. Upon scanning foravailable APs, the MS 115-e may receive a broadcast 720 from a second AP105-d-2. In some cases, the broadcast 720 may include information thatmay be used to identify the second AP 105-d-2. For example, thebroadcast 720 may include a service set identifier (SSID). In varioussituations, the MS 115-e may enter the coverage area of a second AP105-d-2, but may not recognize that it is within the coverage area ofthe second AP 105-d-2 until scan for APs at block 715. At block 725, theMS 115-e may identify the second AP 105-d-2 based at least in part onthe received broadcast 720.

At block 730, the MS 115-e may determine the motion state of the secondAP 105-d-2. In some cases, the MS 115-e may determine the motion stateof the second AP 105-d-2 based on information obtained about the secondAP 105-d-2. For example, the MS 115-e may obtain crowd sourcedinformation about the motion state for the second AP 105-d-2. In anotherexample, the MS 115-e may have previously learned the motion state ofthe second AP 105-d-2 and may obtain the motion state of the second AP105-d-2 from information stored about the second AP 105-d-2. In somecases, the MS 115-e may learn or relearn the motion state of the secondAP 105-d-2 and update the information stored about the second AP 105-d-2by monitoring each established connection with the second AP 105-d-2.Although not shown, the MS 115-e may learn or relearn the motion stateof the second AP 105-d-2 based on a connection 740 with the second AP105-d-2.

At block 735, the MS 115-e may determine to connect to and use thesecond AP 105-d-2 when the difference between the motion state of the MS115-e and the motion state of the second AP 105-d-2 is less than athreshold. For example, when the motion of the MS 115-e relative to themotion of the second AP 105-d-2 is within the threshold. For instance,the MS 115-e may determine to connect to and use the second AP 105-d-2when the second AP 105-d-2 is stationary and the MS 115-e is stationaryor moving slowly around (e.g., walking) However, the MS 115-e may notdetermine to connect to and/or use the second AP 105-d-2 when the secondAP 105-d-2 is stationary and the MS 115-e is moving quickly (e.g.,driving) or the MS 115-e is stationary and the second AP 105-d-2 ismoving quickly.

Upon determining to connect to and use the second AP, the MS 115-e mayestablish a connection 740 with the second AP 105-d-2 and may switch thedata traffic 745 from the connection 705 with the first AP 105-d-1 tothe connection 740 with the second AP 105-d-2. Upon switching the datatraffic 745, the MS 115-e may maintain the connection 705 with the firstAP 105-d-1. For example, the MS 115-e may maintain an active (e.g., inan active state) connection 705 with the first AP 105-d-1. In anotherexample, the MS 115-e may maintain an idle (e.g., in an idle state)connection 705 with the first AP 105-d-1. Alternatively, the MS 115-emay not maintain (e.g., disconnect, drop) the connection 705 with thefirst AP 105-d-1. In some cases, the MS 115-e may continue to monitorthe motion state of the MS 115-e and may monitor the connection 740 tolearn or relearn the motion state of the second AP 105-d-2. AlthoughFIG. 7 depicts the various blocks in a particular order, it isunderstood, that the blocks may be rearranged in a variety of ways. Forexample, one possible order may proceed from block 715 to broadcast 720and from broadcast 720 to block 710, with the establishment of theconnection occurring at the end, as shown.

FIG. 8 is a message flow diagram 800 illustrating another embodiment ofwireless communications between the MS 115-e and the first AP 105-d-1and wireless communications between the MS 115-e and the second AP105-d-2. The embodiment illustrated in the message flow diagram 800 maybe similar to the embodiment illustrated in the message flow diagram700. However, in this embodiment, the MS 115-e may automatically connectto available APs.

As described previously, the MS 115-e may use a first connection 805with the first AP 105-d-1 for data transmissions. At block 810, the MS115-e may scan for APs. Upon scanning for APs, the MS 115-e may receivea broadcast 820 and may establish a connection 825 with the second AP105-d-2. Although the MS 115-e has established a connection 825 with thesecond AP 105-d-2, the MS 115-e may continue to use the connection 805with the first AP 105-d-1 for data traffic.

At block 830, the MS 115-e may determine the motion state of the MS115-e. At block 835, the MS 115-e may identify the second AP 105-d-2. Atblock 840, the MS 115-e may determine the motion state of the second AP105-d-2.

At block 845, the MS 115-e may determine to use the connection 825 withthe second AP 105-d-2 for data transmissions when the difference betweenthe motion state of the MS 115-e and the motion state of the second AP105-d-2 is less than a threshold. For example, when the motion of the MS115-e relative to the motion of the second AP 105-d-2 is within thethreshold. For instance, the MS 115-e may determine to switch traffic850 and use the connection 825 with the second AP 105-d-2 when thesecond AP 105-d-2 is stationary and the MS 115-e is stationary or movingslowly around (e.g., walking) However, the MS 115-e may not determine toswitch traffic and use the connection with the second AP 105-d-2 whenthe second AP 105-d-2 is stationary and the MS 115-e is moving quickly(e.g., driving) or the MS 115-e is stationary and the second AP 105-d-2is moving quickly. When the MS 115-e determines to switch traffic 850,the MS 115-e may determine to maintain the connection 805 in an activestate, maintain the connection 805 in an idle state, or to not maintainthe connection 805.

FIG. 9 is a message flow diagram 900 illustrating another embodiment ofwireless communications between the MS 115-e and the first AP 105-d-1and wireless communications between the MS 115-e and the second AP105-d-2. The embodiment illustrated in the message flow diagram 900 maybe similar to the embodiments illustrated in the message flow diagram700 and may be similarly adapted to be used in the embodimentillustrated in message flow diagram 800. However, in this embodiment,the MS 115-e may delay connecting to and/or using a connection with thesecond AP 105-d-2 until after the expiration of a back-off timer.

As described previously, the MS 115-e may use a first connection 905with the first AP 105-d-1 for data transmissions. At block 910, the MS115-e may determine the motion state of the MS 115-e.

At block 915, the MS 115-e may determine if the motion state of the MS115-e exceeds a threshold. If the motion state of the MS 115-e exceedsthe threshold, then a back-off timer may be started. In some cases, theback-off timer may be started based on a change in motion and/or themotion state of the MS 115-e. In other cases, the back-off timer may bestarted based on the detection of an available AP. In the case that anAP specific back-off timer (e.g., back-off time) has been obtained(e.g., learned), then the MS 115-e may use the obtained AP specificback-off timer. In the case, that an AP specific back-off timer for theAP has not been obtained, then a default back-off timer (with a defaulttime, 60 seconds, for example) may be used. In one example, a back-offtimer may be started (based on the default time, for example), and uponidentification of the AP, the AP specific time may be used instead ofthe default time.

At block 920, the MS 115-e may scan for APs. Upon scanning for APs, theMS 115-e may receive a broadcast 925. At block 930, the MS 115-e mayidentify the second AP 105-d-2 based on the broadcast 925. At block 935,the MS 115-e may determine the motion state of the second AP 105-d-2.

At block 940, the MS 115-e may determine to connect to and/or use thesecond AP 105-d-2 upon expiration of the back-off timer and when thedifference between the motion state of the MS 115-e and the motion stateof the second AP 105-d-2 satisfies a threshold. For example, uponexpiration of the back-off timer, the MS 115-e may determine if themotion state of the MS 115-e relative to the motion state of the secondAP 105-d-2 satisfies the threshold. As a result, the MS 115-e may onlydetermine to connect to and/or use the second AP 105-d-2 after theexpiration of the back-off timer and when the relative motion betweenthe MS 115-e and the second AP 105-2 satisfy the threshold.

Upon determining to connect to and/or use the second AP, the MS 115-emay establish a connection 945 with the second AP 105-d-2 and may switchthe data traffic 955 from the connection 905 with the first AP 105-d-1to the connection 945 with the second AP 105-d-2. In some cases, the MS115-e may continue to monitor the motion state of the MS 115-e and maymonitor the connection 945 to learn or update the motion state of thesecond AP 105-d-2. Additionally or alternatively, the MS 115-e maymonitor the motion state of the MS 115-e and may monitor the connection945 to learn or adjust the duration of the back-off timer. For example,upon expiration of the back-off timer, if the duration of the connection945 established with the second AP 105-d-2 is less than a threshold,then the MS 115-e may determine to increase the duration of the back-offtimer (for subsequent connections with the second AP 105-d-2). Inanother example, if upon expiration of the back-off timer the durationof the connection 945 established with the second AP 105-d-2 is greaterthan the threshold, then based on an analysis of the motion state of theMS 115-e, the MS 115-e may reduce the duration of the back-off timer(for subsequent connections with the second AP 105-d-2). In some cases,the MS 115-e may generate a unique (e.g., AP specific) back-off timerfor each AP that a back-off timer is used with. In some embodiments, aback-off timer may be triggered any time the motion state of the MS115-e exceeds a threshold.

FIG. 10 is a message flow diagram 1000 illustrating one embodiment ofwireless communications between an MS 115-f and an AP 105-e. The AP105-e may be an example of one or more aspects of the access point(s)105 described with reference to FIG. 1. In one example, the AP 105-e maybe a small cell AP. The MS 115-f may be an example of one or moreaspects of the MS(s) 115 described with reference to FIGS. 1, 2, 3, 4,7, 8, and/or 9. The AP 105-e may be an example of one or more aspects ofthe AP(s) 105 described with reference to FIGS. 1, 5, 6, 7, 8, and/or 9.

In one configuration, the AP 105-e may receive a connection request 1005from a MS 115-f. In one example, the MS 115-f may transmit a connectionrequest 1005 in an attempt to connect to the AP 105-e.

At block 1010, the AP 105-e may identify the MS 115-f. For example, theAP 105-e may identify the MS 115-f based on the received connectionrequest 1005. At block 1015, the AP 105-e may determine if the MS 115-fis blacklisted. Upon determining that the MS 115-f is not blacklisted,the AP 105-e may send a response to the connection request and mayestablish a connection 1020 with the identified MS 115-e.

At block 1025, the AP 105-e may start a timer upon establishing theconnection 1020 with the MS 115-f. In some cases, the AP 105-e maymonitor the connection 1020 with the MS 115-f. For example, the AP 105-emay monitor the connection 1020 to detect a disconnection 1030 of theconnection 1020. At block 1035, the AP 105-e may stop the timer upondetecting the disconnection 1030 of the connection 1020. As a result ofstarting the timer upon connection 1020 and stopping the timer uponending of the connection (e.g., disconnect 1030), the duration of thetimer may correspond to the duration of the connection 1020. In somecases, the AP 105-e may determine if the connection 120 is a goodconnection (e.g., duration of the timer is greater than a threshold) ora bad connection (e.g., duration of the timer is less than thethreshold) based on the duration of the timer.

At block 1040, a bad connection may be associated with the identified MS115-f when the duration of the timer is less than a threshold. In somecases, the AP 105-e may maintain a list of MSs along with the number ofbad connections associated with each MS.

At block 1045, the AP 105-e may blacklist the MS 115-e if the number ofbad connections associated with the MS 115-e is greater than ablacklisting threshold. In some cases, the blacklisting threshold may betime limited. For example, the blacklisting threshold may correspond toa number of bad connections within the last period of time (e.g., 48hours). Since blacklisted MSs are blocked from connecting with the AP105-e, the number of bad connections associated with an MS may not beincreased once the MS is blacklisted. As a result, a blacklisted MS may,over time, be removed from the blacklist as the number of badconnections within the last period of time reduces with the passage oftime. Accordingly, a blacklisted MS may, at a later point in time,become unblacklisted and may reconnect with the AP 105-e. In this way, aMS that was previously blacklisted may have opportunities to establishgood connections with the AP 105-e. In some cases, the blacklistingthreshold may be dynamic. For example, the blacklisting threshold may bethe top percentage MSs with the most bad connections (within a givenperiod of time, for example). As a result, a MS may become blacklistedor unblacklisted based on the number of bad connections associated withother MSs. For instance, if other MSs accumulate more bad connections,then an MS may no longer be in the top percentage of MSs with badconnections. Similarly, if the number of bad connections for other MSsis reducing (due to the passage of time, for example) then an MS maybecome in the top percentage of MSs with bad connections, and thereforebecome blacklisted. As a result, a MS may be blacklisted orunblacklisted without any interaction with the AP.

FIG. 11 is a message flow diagram 1100 illustrating another embodimentof wireless communications between an MS 115-f and an AP 105-e. Theembodiment illustrated in the message flow diagram 1100 may be similarto the embodiment illustrated in the message flow diagram 1000. However,in this embodiment, the MS 115-f may be blacklisted.

As discussed previously, the AP 105-e may receive a connection request1105 from an MS 115-f. At block 1110, the AP 105-e may identify the MS115-f. For example, the AP 105-e may identify the MS 115-f based on thereceived connection request 1105. At block 1115, the AP 105-e maydetermine that the MS 115-f is blacklisted.

At block 1120, upon determining that the MS 115-f is blacklisted, the AP105-e may refuse the request for a connection 1105 from the MS 115-f. Insome cases, the AP 105-e may ignore the connection request 1105. Forexample, the AP 105-e may determine to not respond to the connectionrequest 1105. In other cases (not shown), the AP 105-e may send aresponse to the MS 115-f indicating that the AP 105-e refuses to connectwith the MS 115-f.

FIG. 12 is a message flow diagram 1200 illustrating one embodiment ofnetwork managed wireless communications between an MS 115-g and a firstAP 1054-1 and network managed wireless communications between the MS115-g and a second AP 1054-2. The APs 1054-1, 1054-2 may be examples ofone or more aspects of the access point(s) 105 described with referenceto FIG. 1. In one example, the first AP 1054-1 may be a macro cell APand the second AP 1054-2 may be a small cell AP. The MS 115-g may be anexample of one or more aspects of the MS(s) 115 described with referenceto FIGS. 1, 2, 3, 4, 7, 8, 9, 10, and/or 11. The AP 1054-1 and/or the AP1054-2 may be an example of one or more aspects of the AP(s) 105described with reference to FIGS. 1, 5, 6, 7, 8, 9, 10, and/or 11.

In one configuration, the MS 115-g may use a first connection 1205 withthe first AP 1054-1 for data transmissions. For example, the MS 115-gmay have previously established a connection 1205 with the first AP1054-1 to engage in wireless communications with the first AP 1054-1. Inone example, the MS 115-g may be using the connection 1205 with thefirst AP 1054-1 for data traffic. At block 1210, the MS 115-g maydetermine the motion state of the MS 115-g.

Upon determining the motion state of the MS 115-g, the MS 115-g maygenerate 1215 a measurement report that includes motion stateinformation about the MS 115-g. The MS 115-g may transmit themeasurement report that includes the motion state information to thefirst AP 1054-1 (e.g., the serving cell). The MS 115-g may receive aresponse 1220 regarding the measurement report that includes the motionstate information. In some cases, where the network decides to notinstruct the MS 115-g to connect to another AP, the MS 115-g may receiveinstructions based on the motion state information. For example, theinstructions based on the motion state information may be anacknowledgment (ACK) regarding the measurement report 1215 with noinstructions for connecting to another AP. In other cases, where thenetwork decides to instruct the MS 115-g to connect to another AP (e.g.,the second AP 105-f-2), the MS 115-g may receive an acknowledgment (ACK)regarding the measurement report 1215 as well as instructions forconnecting to another AP (e.g., the second AP 105-f-2).

At block 1225, the MS 115-g may determine whether to connect to thesecond AP 1054-2 based on the instructions 1220. Upon determining thatthe instructions 1220, include instructions for connecting to the secondAP 105-f-2, the MS 115-g may determine to connect to the second AP105-f-2 based on the instructions. Upon determining to connect to thesecond AP 105-f-2, the MS 115-g may establish a connection 1230 with thesecond AP 105-f-2. In some cases, the MS 115-g may switch traffic to usethe established connection 1230 with the second AP 105-f-2.

FIG. 13 is a block diagram of a MIMO communication system 1300 includinga AP 105-g and a MS 115-h. This system 1300 may illustrate aspects ofthe system 100 of FIG. 1. The AP 105-g may be equipped with antennas1334-a through 1334-x, and the MS 115-h may be equipped with antennas1352-a through 1352-n. In the system 1300, the AP 105-g may be able tosend data over multiple communication links at the same time. Eachcommunication link may be called a “layer” and the “rank” of thecommunication link may indicate the number of layers used forcommunication. For example, in a 2×2 MIMO system where AP 105-gtransmits two “layers,” the rank of the communication link between theAP 105-g and the MS 115-h is two.

At the AP 105-g, a transmit processor 1320 may receive data from a datasource. The transmit processor 1320 may process the data. The transmitprocessor 1320 may also generate reference symbols, and a cell-specificreference signal. A transmit (TX) MIMO processor 1330 may performspatial processing (e.g., precoding) on data symbols, control symbols,and/or reference symbols, if applicable, and may provide output symbolstreams to the transmit modulators 1332-a through 1332-x. Each modulator1332 may process a respective output symbol stream (e.g., for OFDM,etc.) to obtain an output sample stream. Each modulator 1332 may furtherprocess (e.g., convert to analog, amplify, filter, and upconvert) theoutput sample stream to obtain a downlink (DL) signal. In one example,DL signals from modulators 1332-a through 1332-x may be transmitted viathe antennas 1334-a through 1334-x, respectively.

At the MS 115-h, the MS antennas 1352-a through 1352-n may receive theDL signals from the AP 105-g and may provide the received signals to thedemodulators 1354-a through 1354-n, respectively. Each demodulator 1354may condition (e.g., filter, amplify, downconvert, and digitize) arespective received signal to obtain input samples. Each demodulator1354 may further process the input samples (e.g., for OFDM, etc.) toobtain received symbols. A MIMO detector 1356 may obtain receivedsymbols from all the demodulators 1354-a through 1354-n, perform MIMOdetection on the received symbols if applicable, and provide detectedsymbols. A receive processor 1358 may process (e.g., demodulate,deinterleave, and decode) the detected symbols, providing decoded datafor the MS 115-h to a data output, and provide decoded controlinformation to a processor 1380, or memory 1382.

The processor 1380 may in some cases execute stored instructions toinstantiate an MS connection management module 210-c. In someembodiments, the MS connection management module 210-c may be an exampleof one or more aspects of the MS connection management module 210described with reference to FIGS. 2, 3, and/or 4. In some embodiments,the MS connection management module 210-c may determine whether toconnect to and/or use the AP 105-g based on the motion state of the MS115-h. In other cases, the MS connection management module 210-c maydetermine whether to connect to and/or use the AP 105-g based on themotion state of the MS 115-h and the motion state of the AP 105-g. Inone example, the MS 115-h may be connected to a first AP 105-g (e.g.,macro cell AP) and may determine whether to connect to a second AP 105-g(e.g., small cell AP). In some cases, the MS 115-h may use one or moreof the antennas 1352-a through 1352-n, the modulators/demodulators1354-a through 1354-n, the MIMO detector 1356, the receive processor1358, the transmit processor 1364, and/or the MIMO processor 1366 tocommunicate with the first AP 105-g and/or the second AP 105-g.

On the uplink (UL), at the MS 115-h, a transmit processor 1364 mayreceive and process data from a data source. The transmit processor 1364may also generate reference symbols for a reference signal. The symbolsfrom the transmit processor 1364 may be precoded by a transmit MIMOprocessor 1366 if applicable, further processed by the demodulators1354-a through 1354-n (e.g., for SC-FDMA, etc.), and be transmitted tothe AP 105-g in accordance with the transmission parameters receivedfrom the AP 105-g. At the AP 105-g, the UL signals from the MS 115-h maybe received by the antennas 1334, processed by the demodulators 1332,detected by a MIMO detector 1336 if applicable, and further processed bya receive processor 1338. The receive processor 1338 may provide decodeddata to a data output and to the processor 1340.

The processor 1340 may in some cases execute stored instructions toinstantiate an AP connection management module 510-c. In someembodiments, the AP connection management module 510-c may be an exampleof one or more aspects of the AP connection management module 510described with reference to FIGS. 5 and/or 6. In some embodiments, theAP connection management module 510-c may determine whether to blacklista MS and may refuse to connect with a blacklisted MS. For example, theAP connection management module 510-c may receive a connection requestfrom a MS 115-h, determine whether the MS 115-h is blacklisted. If theMS 115-h is blacklisted, the AP connection management module 510-c mayrefuse the request for a connection. If, however, the MS 115-h is notblacklisted, the AP connection management module 510-c may connect withthe MS 115-h and may monitor the connection with the MS 115-h todetermine if the connection with the MS 115-h has a duration longer thana threshold. If the duration of the connection is less than thethreshold, then a bad connection may be associated with the MS 115-h. Ifthe number of bad connections associated with the MS 115-h exceeds athreshold (e.g., number of connections within a most recentpredetermined period) then the AP connection management module 510-c mayblacklist the MS 115-h.

The components of the MS 115-h may, individually or collectively, beimplemented with one or more Application Specific Integrated Circuits(ASICs) adapted to perform some or all of the applicable functions inhardware. Each of the noted modules may be a means for performing one ormore functions related to operation of the system 1300. Similarly, thecomponents of the AP 105-g may, individually or collectively, beimplemented with one or more Application Specific Integrated Circuits(ASICs) adapted to perform some or all of the applicable functions inhardware. Each of the noted components may be a means for performing oneor more functions related to operation of the system 1300.

The communication networks that may accommodate some of the variousdisclosed embodiments may be packet-based networks that operateaccording to a layered protocol stack. For example, communications atthe bearer or Packet Data Convergence Protocol (PDCP) layer may beIP-based. A Radio Link Control (RLC) layer may perform packetsegmentation and reassembly to communicate over logical channels. AMedium Access Control (MAC) layer may perform priority handling andmultiplexing of logical channels into transport channels. The MAC layermay also use Hybrid ARQ (HARM) to provide retransmission at the MAClayer to improve link efficiency. At the Physical layer, the transportchannels may be mapped to Physical channels.

FIG. 14 is a flow chart illustrating a method 1400 for avoiding badconnections. For clarity, the method 1400 is described below withreference to one of the MSs 115 described with reference to FIGS. 1, 2,3, 4, 7, 8, 9, 10, 11, 12, and/or 13. In one implementation, the MSconnection management module 210 described with reference to figures 2,3, 4, and/or 13 may execute one or more sets of codes to control thefunctional elements of an MS 115 to perform the functions describedbelow.

At block 1405, a first connection with a first AP may be used for datatransmissions.

At block 1410, a motion state of an MS may be determined. For example,the motion state of the MS may be determined based on sensor data for atleast one sensor within the MS. In one example, the sensor data mayinclude sensor data from a magnetometer (acceleration of movement of theMS, for example). Additionally or alternatively, the sensor data mayinclude sensor data from a gyroscope (angular rotational velocity, forexample). In some embodiments, the motion state of the MS may bedetermined using the motion state determination module 305 describedwith reference to FIGS. 3 and/or 4.

At block 1415, a second AP may be identified. For example, a second APmay be detected during a scan for available APs and may be identifiedbased on a broadcast signal from the AP. In some embodiments, theoperation(s) at block 1415 may be performed by the connection usagemodule 310 described with reference to FIGS. 3 and/or 4.

At block 1420, a determination may be made, based at least in part onthe motion state of the MS, as to whether to use the second AP for datatransmissions. In some embodiments, the first AP may be a macro cell APand the second AP may be a small cell AP. In these embodiments, themotion state of the MS may be predictive of whether the MS will be inthe coverage area of the second AP for a sufficient amount of time thata connecting to and/or using the second AP may be beneficial.

Therefore, the method 1400 may be used for avoiding bad connections withAPs (e.g., small cell APs). It should be noted that the method 1400 isjust one implementation and that the operations of the method 1400 maybe rearranged or otherwise modified such that other implementations arepossible.

FIG. 15 is a flow chart illustrating another method 1500 for avoidingbad connections. For clarity, the method 1500 is described below withreference to one of the MSs 115 described with reference to FIGS. 1, 2,3, 4, 7, 8, 9, 10, 11, 12, and/or 13. In one implementation, the MSconnection management module 210 described with reference to FIGS. 2, 3,4, and/or 11 may execute one or more sets of codes to control thefunctional elements of a MS 115 to perform the functions describedbelow.

At block 1505, a first connection with a first AP may be used for datatransmissions.

At block 1510, a motion state of an MS may be determined.

At block 1515, a second AP may be identified.

At block 1520, a motion state of the second AP may be determined. Insome cases, the motion state of the second AP may be learned based on atleast one previous connection with the second AP. For example, themotion state of the AP may be learned based on the duration of theprevious connection with the AP and the motion state of the MSthroughout the previous connection with the AP. In some embodiments, themotion state of the second AP may be determined using the motion statedetermination module 305 described with reference to FIGS. 3 and/or 4.

At block 1525, a determination may be made as to whether the differencebetween the motion state of the MS and the motion state of the second APsatisfies a threshold. In one example, the threshold may require thatthe motion state of the MS is the same as the motion state of the AP. Inanother example, the threshold may be a relative difference between themotion state of the MS and the motion state of the AP. If the differencebetween the motion state of the MS and the motion state of the APsatisfies the threshold, then, at block 1530, the second AP may be usedfor data transmissions. If, however, the difference between the motionstate of the MS and the motion state of the AP does not satisfy thethreshold, then, at block 1535, the second AP may not be used for datatransmissions. In some embodiments, the operation(s) at blocks 1525,1530, and 1535, may be performed by the connection usage module 310described with reference to FIGS. 3 and/or 4.

Therefore, the method 1500 may be used for avoiding bad connections. Itshould be noted that the method 1500 is just one implementation and thatthe operations of the method 1500 may be rearranged or otherwisemodified such that other implementations are possible.

FIG. 16 is a flow chart illustrating yet another method 1600 foravoiding bad connections. For clarity, the method 1600 is describedbelow with reference to one of the MSs 115 described with reference toFIGS. 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, and/or 13. In one implementation,the MS connection management module 210 described with reference toFIGS. 2, 3, 4, and/or 13 may execute one or more sets of codes tocontrol the functional elements of a MS 115 to perform the functionsdescribed below.

At block 1605, a first connection with a first AP may be used for datatransmissions.

At block 1610, a motion state of an MS may be determined.

At block 1615, a second AP may be identified.

At block 1620, a motion state of the second AP may be determined.

At block 1625, a determination may be made as to whether the motionstate of the second AP is stationary. If the motion state of the secondAP is not stationary (e.g., moving), then at block 1615, a back-offtimer may be started. If, however, the motion state of the second AP isstationary, then at block 1630, a determination may be made as towhether the MS is in motion or was in motion in the recent past. If theMS is not in motion or was not in motion in the recent past, then atblock 1655, the second AP may be used for data transmissions. If,however, the MS is in motion or was in motion in the recent past, then,at block 1635, a back-off timer may be started. In some cases, furtheroperations may be delayed until the expiration of the back-off timer. Inone example, the duration of the back-off timer may depend on pastmovement of the MS and/or the specifically identified AP Upon expirationof the back-off timer, at block 1640, the motion state of the MS may bedetermined again.

At block 1645, a determination may be made as to whether the differencebetween the motion state of the MS and the motion state of the second APsatisfies a threshold. If the difference between the motion state of theMS and the motion state of the AP satisfies the threshold, then, atblock 1655, the second AP may be used for data transmissions. If,however, the difference between the motion state of the MS and themotion state of the AP does not satisfy the threshold, then, at block1650, the second AP may not be used for data transmissions. In someembodiments, the operation(s) at blocks 1625, 1630, and 1640 may beperformed by the motion state determination module 305 described withreference to FIGS. 3 and/or 4, and the operation(s) at blocks 1645,1655, 1650, and 1635, may be performed by the connection usage module310 described with reference to FIGS. 3 and/or 4.

Therefore, the method 1600 may be used for avoiding bad connections. Itshould be noted that the method 1600 is just one implementation and thatthe operations of the method 1600 may be rearranged or otherwisemodified such that other implementations are possible.

FIG. 17 is a flow chart illustrating another method 1700 for managinginterfaces for wireless communications. For clarity, the method 1700 isdescribed below with reference to one of the APs 105 described withreference to FIGS. 1, 5, 6, 7, 8, 9, 10, 11, 12, and/or 13. In oneimplementation, the AP connection management module 510 described withreference to FIGS. 5, 6, and/or 13 may execute one or more sets of codesto control the functional elements of an AP 105 to perform the functionsdescribed below.

At block 1705, a request for a connection from a MS may be received.

At block 1710, a determination may be made as to whether the MS isblacklisted. In some embodiments, the determination as to whether the MSis blacklisted may be made using the blocking module 615 described withreference to FIG. 6.

At block 1715, upon determining that the MS is blacklisted, the requestfor the connection may be refused. In one example, the request for theconnection may be ignored. In some embodiments, the request may berefused by the blocking module 615 described with reference to FIG. 6.

Therefore, the method 1700 may be used for avoiding bad connections. Itshould be noted that the method 1700 is just one implementation and thatthe operations of the method 1700 may be rearranged or otherwisemodified such that other implementations are possible.

FIG. 18 is a flow chart illustrating yet another method 1800 foravoiding bad connections. For clarity, the method 1800 is describedbelow with reference to one of the APs 105 described with reference toFIGS. 1, 5, 6, 7, 8, 9, 10, 11, 12, and/or 13. In one implementation,the AP connection management module 510 described with reference toFIGS. 5, 6, and/or 13 may execute one or more sets of codes to controlthe functional elements of a MS 115 to perform the functions describedbelow.

At block 1805, a request for a connection from a MS may be received.

At block 1810, the MS may be identified. For example, the MS may beidentified based on the contents of the request for the connectionreceived from the MS.

At block 1815, a determination may be made as to whether the MS isblacklisted. If the MS is determined to be blacklisted, then at block1820, the request for the connection may be refused. If, however, the MSis determined to not be blacklisted, then at block 1825, a connectionwith the MS may be established. In some cases, the AP may monitor theconnection with the MS.

At block 1830, upon the connection being disconnected, a duration of theconnection may be determined. In some embodiments, the connection may bemonitored and the duration of the connection may be determined using theconnection monitoring module 605 described with reference to FIG. 6.

At block 1835, a determination may be made as to whether the duration isless than a threshold. In some cases, the threshold may be set avoidconnections when the duration of the connection may be too short for theconnection to be beneficial connection for the MS.

At block 1840, a bad connection may be associated with the identifiedMS. For example a number of bad connections along with a time stamp foreach bad connection may be associated with the identified MS.

At block 1850, a determination may be made as to whether the number ofbad connection for the identified MS within a period of time is greaterthan a threshold. In one example, the threshold may be based on a numberof bad connections within a period of time (e.g., the last 48 hours).For instance, the threshold may be a top percentage of MSs based on anumber of bad connections within a most recent period of time.Accordingly, the specific MSs that are blacklisted may dynamicallychange depending on the number of bad connections associated with otherMSs. If the number of bad connections within the period of time isgreater than the threshold, then, at block 1845, the identified MS maybe blacklisted. Although the blacklisting is illustrated as beingdependent upon disconnection of a connection with the AP, it isunderstood that a MS may be blacklisted or unblacklisted without anyinteraction with the AP. For instance, a change in the number of badconnections associated with other MSs may result in an AP beingblacklisted or unblacklisted.

Therefore, the method 1800 may be used for avoiding bad connections. Itshould be noted that the method 1800 is just one implementation and thatthe operations of the method 1800 may be rearranged or otherwisemodified such that other implementations are possible.

The detailed description set forth above in connection with the appendeddrawings describes exemplary embodiments and does not represent the onlyembodiments that may be implemented or that are within the scope of theclaims. The term “exemplary” used throughout this description means“serving as an example, instance, or illustration,” and not “preferred”or “advantageous over other embodiments.” The detailed descriptionincludes specific details for the purpose of providing an understandingof the described techniques. These techniques, however, may be practicedwithout these specific details. In some instances, well-known structuresand devices are shown in block diagram form in order to avoid obscuringthe concepts of the described embodiments.

Techniques described herein may be used for various wirelesscommunications systems such as cellular wireless systems, Peer-to-Peerwireless communications, wireless local access networks (WLANs), ad hocnetworks, satellite communications systems, and other systems. The terms“system” and “network” are often used interchangeably. These wirelesscommunications systems may employ a variety of radio communicationtechnologies such as Code Division Multiple Access (CDMA), Time DivisionMultiple Access (TDMA), Frequency Division Multiple Access (FDMA),Orthogonal FDMA (OFDMA), Single-Carrier FDMA (SC-FDMA), and/or otherradio technologies. Generally, wireless communications are conductedaccording to a standardized implementation of one or more radiocommunication technologies called a Radio Access Technology (RAT). Awireless communications system or network that implements a Radio AccessTechnology may be called a Radio Access Network (RAN).

Examples of Radio Access Technologies employing CDMA techniques includeCDMA2000, Universal Terrestrial Radio Access (UTRA), etc. CDMA2000covers IS-2000, IS-95, and IS-856 standards. IS-2000 Releases 0 and Aare commonly referred to as CDMA2000 1X, 1X, etc. IS-856 (TIA-856) iscommonly referred to as CDMA2000 1xEV-DO, High Rate Packet Data (HRPD),etc. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA.Examples of TDMA systems include various implementations of GlobalSystem for Mobile Communications (GSM). Examples of Radio AccessTechnologies employing OFDM and/or OFDMA include Ultra Mobile Broadband(UMB), Evolved UTRA (E-UTRA), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX),IEEE 802.20, Flash-OFDM, etc. UTRA and E-UTRA are part of UniversalMobile Telecommunication System (UMTS). 3GPP Long Term Evolution (LTE)and LTE-Advanced (LTE-A) are new releases of UMTS that use E-UTRA. UTRA,E-UTRA, UMTS, LTE, LTE-A, and GSM are described in documents from anorganization named “3rd Generation Partnership Project” (3GPP). CDMA2000and UMB are described in documents from an organization named “3rdGeneration Partnership Project 2” (3GPP2). The techniques describedherein may be used for the systems and radio technologies mentionedabove as well as other systems and radio technologies.

The communication networks that may accommodate some of the variousdisclosed embodiments may be packet-based networks that operateaccording to a layered protocol stack. For example, communications atthe bearer or Packet Data Convergence Protocol (PDCP) layer may beIP-based. A Radio Link Control (RLC) layer may perform packetsegmentation and reassembly to communicate over logical channels. AMedium Access Control (MAC) layer may perform priority handling andmultiplexing of logical channels into transport channels. The MAC layermay also use Hybrid ARQ (HARM) to provide retransmission at the MAClayer to improve link efficiency. At the Physical layer, the transportchannels may be mapped to Physical channels.

Information and signals may be represented using any of a variety ofdifferent technologies and techniques. For example, data, instructions,commands, information, signals, bits, symbols, and chips that may bereferenced throughout the above description may be represented byvoltages, currents, electromagnetic waves, magnetic fields or particles,optical fields or particles, or any combination thereof.

The various illustrative blocks and modules described in connection withthe disclosure herein may be implemented or performed with ageneral-purpose processor, a digital signal processor (DSP), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA) or other programmable logic device, discrete gate ortransistor logic, discrete hardware components, or any combinationthereof designed to perform the functions described herein. Ageneral-purpose processor may be a microprocessor, but in thealternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, multiple microprocessors, one or moremicroprocessors in conjunction with a DSP core, or any other suchconfiguration. A processor may in some cases be in electroniccommunication with a memory, where the memory stores instructions thatare executable by the processor.

The functions described herein may be implemented in hardware, softwareexecuted by a processor, firmware, or any combination thereof. Ifimplemented in software executed by a processor, the functions may bestored on or transmitted over as one or more instructions or code on acomputer-readable medium. Other examples and implementations are withinthe scope and spirit of the disclosure and appended claims. For example,due to the nature of software, functions described above can beimplemented using software executed by a processor, hardware, firmware,hardwiring, or combinations of any of these. Features implementingfunctions may also be physically located at various positions, includingbeing distributed such that portions of functions are implemented atdifferent physical locations. Also, as used herein, including in theclaims, “or” as used in a list of items prefaced by “at least one of”indicates a disjunctive list such that, for example, a list of “at leastone of A, B, or C” means A or B or C or AB or AC or BC or ABC (i.e., Aand B and C).

A computer program product or computer-readable medium both include acomputer-readable storage medium and communication medium, including anymediums that facilitates transfer of a computer program from one placeto another. A storage medium may be any medium that can be accessed by ageneral purpose or special purpose computer. By way of example, and notlimitation, computer-readable medium can comprise RAM, ROM, EEPROM,CD-ROM or other optical disk storage, magnetic disk storage or othermagnetic storage devices, or any other medium that can be used to carryor store desired computer-readable program code in the form ofinstructions or data structures and that can be accessed by ageneral-purpose or special-purpose computer, or a general-purpose orspecial-purpose processor. Also, any connection is properly termed acomputer-readable medium. For example, if the software is transmittedfrom a website, server, or other remote light source using a coaxialcable, fiber optic cable, twisted pair, digital subscriber line (DSL),or wireless technologies such as infrared, radio, and microwave, thenthe coaxial cable, fiber optic cable, twisted pair, DSL, or wirelesstechnologies such as infrared, radio, and microwave are included in thedefinition of medium. Disk and disc, as used herein, include compactdisc (CD), laser disc, optical disc, digital versatile disc (DVD),floppy disk and blu-ray disc where disks usually reproduce datamagnetically, while discs reproduce data optically with lasers.Combinations of the above are also included within the scope ofcomputer-readable media.

The previous description of the disclosure is provided to enable aperson skilled in the art to make or use the disclosure. Variousmodifications to the disclosure will be readily apparent to thoseskilled in the art, and the generic principles defined herein may beapplied to other variations without departing from the spirit or scopeof the disclosure. Throughout this disclosure the term “example” or“exemplary” indicates an example or instance and does not imply orrequire any preference for the noted example. Thus, the disclosure isnot to be limited to the examples and designs described herein but is tobe accorded the widest scope consistent with the principles and novelfeatures disclosed herein.

What is claimed is:
 1. A method for managing data transmissions,comprising: using a first connection with a first access point for datatransmissions; determining a motion state of a mobile device based onsensor data from at least one sensor within the mobile device;identifying a second access point; and determining whether to use thesecond access point for data transmissions based at least in part on thedetermined motion state of the mobile device.
 2. The method of claim 1,wherein determining the motion state of the mobile device comprises:determining the motion state based on an acceleration of movement of themobile device.
 3. The method of claim 1, wherein determining the motionstate of the mobile device comprises: determining the motion state basedon an angular rotational velocity of the mobile device.
 4. The method ofclaim 1, further comprising: determining a motion state of the secondaccess point.
 5. The method of claim 4, wherein determining whether touse the second access point for data transmissions comprises:determining whether to use the second access point based on thedetermined motion state of the mobile device and the determined motionstate of the second access point.
 6. The method of claim 5, whereindetermining whether to use the second access point based on thedetermined motion state of the mobile device and the determined motionstate of the second access point comprises: determining to use thesecond access point when the determined motion state of the mobiledevice and the motion state of the second access point are the same. 7.The method of claim 5, wherein determining whether to use the secondaccess point based on the determined motion state of the mobile deviceand the determined motion state of the second access point comprises:determining to use the second access point when a relative differencebetween the determined motion state of the mobile device and thedetermined motion state is within a threshold.
 8. The method of claim 4,wherein determining the motion state of the second access pointcomprises: learning the motion state of the second access point based atleast in part on a previous connection with the second access point. 9.The method of claim 4, wherein determining the motion state of thesecond access point comprises: crowd sourcing information about thesecond access point, the information comprising the motion state of thesecond access point.
 10. The method of claim 4, wherein determiningwhether to use the second access point for data transmissions comprises:determining whether a back-off timer has been satisfied.
 11. The methodof claim 10, further comprising: adjusting a duration of the back-offtimer based at least in part on a previous connection with the secondaccess point.
 12. The method of claim 10, wherein the duration of theback-off timer is access point specific.
 13. The method of claim 1,wherein determining whether to use the second access point comprises:determining whether to establish a connection with the second accesspoint.
 14. The method of claim 1, wherein determining whether to use thesecond access point comprises: determining whether to switch the datatransmissions to an established connection with the second access point.15. The method of claim 1, further comprising: associating thedetermined motion state with the identified second access point; andstoring information about the identified second access point and itsassociated motion state.
 16. The method of claim 1, wherein the firstaccess point comprises a macro cell access point and the second accesspoint comprises a small cell access point.
 17. The method of claim 1,wherein the at least one sensor comprises at least one of anaccelerometer and a gyroscope.
 18. An apparatus for managing datatransmissions, comprising: means for using a first connection with afirst access point for data transmissions; means for determining amotion state of a mobile device based on sensor data from at least onesensor within the mobile device; means for identifying a second accesspoint; and means for determining whether to use the second access pointfor data transmissions based at least in part on the determined motionstate of the mobile device.
 19. The apparatus of claim 18, wherein themeans for determining the motion state of the mobile device determinesthe motion state based on an acceleration of movement of the mobiledevice.
 20. The apparatus of claim 18, wherein the means for determiningthe motion state of the mobile device determines the motion state basedon an angular rotational velocity of the mobile device.
 21. Theapparatus of claim 18, further comprising: means for determining amotion state of the second access point.
 22. The apparatus of claim 21,wherein the means for determining whether to use the second access pointfor data transmissions comprises: means for determining whether to usethe second access point based on the determined motion state of themobile device and the determined motion state of the second accesspoint.
 23. An apparatus for managing data transmissions, comprising: aprocessor; a memory in electronic communications with the processor, thememory embodying instructions, the instructions being executable by theprocessor to: use a first connection with a first access point for datatransmissions; determine a motion state of a mobile device based onsensor data from at least one sensor within the mobile device; identifya second access point; and determine whether to use the second accesspoint for data transmissions based at least in part on the determinedmotion state of the mobile device.
 24. The apparatus of claim 23,wherein the instructions to determine the motion state of the mobiledevice are executable by the processor to: determine the motion statebased on an acceleration of movement of the mobile device.
 25. Theapparatus of claim 23, wherein the instructions to determine the motionstate of the mobile device are executable by the processor to: determinethe motion state based on an angular rotational velocity of the mobiledevice.
 26. The apparatus of claim 23, wherein the instructions areexecutable by the processor to: determine a motion state of the secondaccess point.
 27. The apparatus of claim 26, wherein instructions todetermine whether to use the second access point for data transmissionsare executable by the processor to: determine whether to use the secondaccess point based on the determined motion state of the mobile deviceand the determined motion state of the second access point.
 28. Acomputer program product for managing data transmissions, the computerprogram product comprising a non-transitory computer-readable mediumstoring instructions executable by a processor to: use a firstconnection with a first access point for data transmissions; determine amotion state of a mobile device based on sensor data from at least onesensor within the mobile device; identify a second access point; anddetermine whether to use the second access point for data transmissionsbased at least in part on the determined motion state of the mobiledevice.
 29. The computer program product of claim 28, wherein theinstructions to determine the motion state of the mobile device areexecutable by the processor to: determine the motion state based on anacceleration of movement of the mobile device.
 30. The computer programproduct of claim 28, wherein the instructions to determine the motionstate of the mobile device are executable by the processor to: determinethe motion state based on an angular rotational velocity of the mobiledevice.
 31. A method for managing connections, comprising: receiving arequest for a connection from a mobile device; determining, at an accesspoint, whether the mobile device is blacklisted, wherein the mobiledevice is blacklisted when a number of previous connections associatedwith the mobile device exceeds a threshold; and upon determining thatthe mobile device is blacklisted, refusing the request for theconnection from the mobile device.
 32. The method of claim 31, wherein aprevious connection comprises a connection having a duration that failsto satisfy a time threshold.
 33. The method of claim 31, wherein aprevious connection comprises a connection that is disconnected due tothe mobile device leaving a coverage area of the access point.
 34. Themethod of claim 31, wherein the mobile device is blacklisted when thenumber of previous connections within a time period exceeds a threshold.35. The method of claim 31, further comprising: upon determining thatthe mobile device is not blacklisted, establishing a connection with themobile device.
 36. The method of claim 35, further comprising:identifying the mobile device; determining a duration of the connectionwith the mobile device; identifying the connection as a previousconnection when the duration of the connection fails to satisfy athreshold; identifying a time of the previous connection; andassociating the previous connection with the identified mobile device.37. The method of claim 31, wherein the access point comprises a smallcell access point.
 38. An apparatus for managing connections,comprising: means for receiving a request for a connection from a mobiledevice; means for determining, at an access point, whether the mobiledevice is blacklisted, wherein the mobile device is blacklisted when anumber of previous connections associated with the mobile device exceedsa threshold; and means for refusing the request for the connection fromthe mobile device, upon determining that the mobile device isblacklisted.
 39. The apparatus of claim 38, wherein a previousconnection comprises a connection having a duration that fails tosatisfy a time threshold.
 40. The apparatus of claim 38, wherein aprevious connection comprises a connection that is disconnected due tothe mobile device leaving a coverage area of the access point.
 41. Anapparatus for managing connections, comprising: a processor; and amemory in electronic communication with the processor, the memoryembodying instructions, the instructions being executable by theprocessor to: receive a request for a connection from a mobile device;determine, at an access point, whether the mobile device is blacklisted,wherein the mobile device is blacklisted when a number of previousconnections associated with the mobile device exceeds a threshold; andupon determining that the mobile device is blacklisted, refuse therequest for the connection from the mobile device.
 42. The apparatus ofclaim 41, wherein a previous connection comprises a connection having aduration that fails to satisfy a time threshold.
 43. The apparatus ofclaim 41, wherein a previous connection comprises a connection that isdisconnected due to the mobile device leaving a coverage area of theaccess point.
 44. A computer program product for managing connections,the computer program product comprising a non-transitorycomputer-readable medium storing instructions executable by a processorto: receive a request for a connection from a mobile device; determine,at an access point, whether the mobile device is blacklisted, whereinthe mobile device is blacklisted when a number of previous connectionsassociated with the mobile device exceeds a threshold; and upondetermining that the mobile device is blacklisted, refuse the requestfor the connection from the mobile device.
 45. The computer programproduct of claim 44, wherein a previous connection comprises aconnection having a duration that fails to satisfy a time threshold. 46.The computer program product of claim 44, wherein a previous connectioncomprises a connection that is disconnected due to the mobile deviceleaving a coverage area of the access point.